home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / patch / ps3b01.lha / 3.0bUpdate / PostScript.LHA / PostScript.prolog < prev   
Text File  |  1994-10-13  |  18KB  |  813 lines

  1. %%BeginProlog
  2. % $VER: PostScript.prolog 1.0b (29.9.94)
  3. % fixed picstr problem in BeginRGBBitmap (7.10.94)
  4. %Copyright 1994 Soft-Logik Publishing Corp.
  5.  
  6. /AsphaltDict dup 153 dict def load begin
  7.  
  8. %
  9. % basic definitions
  10. %
  11. /bdef {bind def} bind def
  12. /xdef {exch def} bdef
  13. /ldef {load def} bdef
  14. /dmatrix matrix def
  15. /cmatrix matrix def
  16. /omatrix matrix def
  17.  
  18. /deltax 0 def
  19. /deltay 0 def
  20. /slant 0 def
  21. /twist 0 def
  22. /xscl 0 def
  23. /yscl 0 def
  24. /bang 0 def
  25. /eang 0 def
  26.  
  27. /tilescalex 0 def
  28. /tilescaley 0 def
  29. /bh 0 def
  30. /bv 0 def
  31.  
  32. %
  33. % drawing definitions
  34. %
  35. /sclm [0 0 0 0 0 0] def
  36. /sr {
  37.  /twist xdef
  38.  /slant xdef
  39.  /deltay xdef
  40.  /deltax xdef
  41.  cmatrix setmatrix deltax deltay translate
  42.  sclm 0 twist cos put
  43.  sclm 1 twist sin put
  44.  sclm 2 slant sin neg put
  45.  sclm 3 slant cos put
  46.  sclm concat
  47.  /omatrix omatrix currentmatrix def
  48. }bdef
  49.  
  50. /scl {
  51.  deltay sub exch
  52.  deltax sub exch
  53.  transform round .2 add exch round .2 add exch itransform
  54. }bdef
  55.  
  56. %
  57. % - patternpath -
  58. %
  59. /patternpath { %bdef
  60.   /mypatternfont findfont begin FontDict /ctm get setmatrix
  61.   currentdict setfont
  62.  
  63.   FontDict begin
  64.     FontMatrix concat
  65.     width 0 dtransform
  66.     round width div exch round width div exch
  67.     0 height dtransform
  68.     round height div exch
  69.     round height div exch
  70.     0 0 transform round exch round exch
  71.     ptm astore setmatrix
  72.     pathbbox
  73.     height div ceiling height mul 4 1 roll
  74.     width div ceiling width mul 4 1 roll
  75.     height div floor height mul 4 1 roll
  76.     width div floor width mul 4 1 roll
  77.     2 index sub height div ceiling cvi exch
  78.     3 index sub width div ceiling cvi exch
  79.     4 2 roll moveto
  80.     FontMatrix ptm invertmatrix pop
  81.     { %repeat
  82.       gsave
  83.       ptm concat
  84.       dup str length idiv {str show} repeat
  85.       dup str length mod str exch 0 exch getinterval show
  86.       grestore
  87.       0 height rmoveto
  88.     } repeat
  89.     pop
  90.   end end
  91. }bdef
  92.  
  93. %
  94. % - patternfill -
  95. %
  96. /patternfill { %bdef
  97.   gsave
  98.   1 setgray
  99.   fill
  100.   grestore
  101.  
  102.   gsave
  103.   clip patternpath
  104.   grestore
  105.   newpath
  106. }bdef
  107.  
  108. %
  109. % - patterneofill -
  110. %
  111. /patterneofill { %bdef
  112.   gsave
  113.   1 setgray
  114.   eofill
  115.   grestore
  116.  
  117.   gsave
  118.   eoclip patternpath
  119.   grestore
  120.   newpath
  121. }bdef
  122.  
  123. %
  124. % - patternstroke -
  125. %
  126. /patternstroke { %bdef
  127.   strokepath
  128.   gsave
  129.   1 setgray
  130.   eofill
  131.   grestore
  132.  
  133.   gsave
  134.   clip patternpath
  135.   grestore
  136.   newpath
  137. }bdef
  138.  
  139.  
  140. %
  141. % - N -
  142. %
  143. /N /newpath ldef
  144.  
  145. %
  146. % x y M -
  147. %
  148. /M {scl moveto}bdef
  149.  
  150. %
  151. % x y L -
  152. %
  153. /L {scl lineto}bdef
  154.  
  155. %
  156. % cx1 cy1 cx2 cy2 px2 py2 C -
  157. %
  158. /C {scl 6 2 roll scl 6 2 roll scl 6 2 roll curveto} bdef
  159.  
  160. %
  161. % cx cy rx ry ba ea slant twist A -
  162. %
  163. /A {
  164.  /twist xdef
  165.  /slant xdef
  166.  /eang xdef
  167.  /bang xdef
  168.  /yscl xdef
  169.  /xscl xdef
  170.  scl translate xscl yscl scale
  171.  sclm 0 twist cos put
  172.  sclm 1 twist sin put
  173.  sclm 2 slant sin neg put
  174.  sclm 3 slant cos put
  175.  sclm concat
  176.  0 0 1 bang eang arc omatrix setmatrix
  177. }bdef
  178.  
  179. %
  180. % cx cy rx ry ba ea slant twist AN -
  181. %
  182. /AN {
  183.  /twist xdef
  184.  /slant xdef
  185.  /eang xdef
  186.  /bang xdef
  187.  /yscl xdef
  188.  /xscl xdef
  189.  scl translate xscl yscl scale
  190.  sclm 0 twist cos put
  191.  sclm 1 twist sin put
  192.  sclm 2 slant sin neg put
  193.  sclm 3 slant cos put
  194.  sclm concat
  195.  0 0 1 bang eang arcn omatrix setmatrix
  196. }bdef
  197.  
  198. %
  199. % - CP -
  200. %
  201. /CP {closepath}bdef
  202.  
  203. %
  204. % fill defines
  205. %
  206. /SG /setgray ldef
  207.  
  208. %
  209. % /fillproc c m y k CMYK -
  210. %
  211. /CMYK {
  212.  setcmykcolor load exec
  213. }def
  214.  
  215. %
  216. % /fillproc sx sy l w angle /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKGRAD -
  217. %
  218. /CMYKGRAD {
  219.  /tc2 xdef
  220.  /tc1 xdef
  221.  /ramp exch ldef
  222.  /angle xdef
  223.  pop pop pop pop
  224.  /fillproc exch ldef
  225.  
  226.  gsave cmatrix setmatrix flattenpath clip 
  227.  pathbbox /ury xdef /urx xdef /lly xdef /llx xdef
  228.  angle 0 lt{/angle angle 360 add def}if
  229.  angle 180 gt{/angle angle 180 sub def tc1 tc2 /tc1 xdef /tc2 xdef}if
  230.  angle 90 gt{ /quad {ury exch sub} bdef tc1 tc2 /tc1 xdef /tc2 xdef}{ /quad {lly add} bdef}ifelse
  231.  /l urx llx sub def
  232.  /w ury lly sub def
  233.  /v angle dup 90 gt{90 sub neg 90 add}if dup sin l mul exch cos w mul add 2 mul def
  234.  /d angle dup 90 gt{90 sub neg 90 add}if dup sin w mul exch cos l mul add def
  235.  /steps d 72 div currentscreen pop pop mul cvi 1 add dup 256 gt{pop 256}if def
  236.  /dd d steps div def
  237.  
  238.  0 1 steps
  239.  {
  240.   steps div dup /frac xdef ramp /rfrac xdef
  241.   tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  242.   tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  243.   tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  244.   tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  245.  
  246.   newpath gsave
  247.   l frac mul llx add
  248.   w frac mul quad translate angle rotate 
  249.   dd 2 div neg v 2 div neg moveto
  250.   0 v rlineto dd 0 rlineto 0 v neg rlineto closepath
  251.   fillproc grestore
  252.  } for
  253.  
  254.  grestore
  255.  
  256. }def
  257.  
  258. %
  259. % this is the orginal
  260. %
  261. %/CMYKGRAD {
  262. % /tc2 xdef
  263. % /tc1 xdef
  264. % /ramp exch ldef
  265. % /angle xdef
  266. % /w xdef /l xdef scl /sy xdef /sx xdef
  267. % /fillproc exch ldef
  268. %
  269. % /steps 256 def
  270. % /dx l steps div def
  271. %
  272. % gsave clip
  273. %
  274. % sx sy translate angle rotate
  275. %
  276. % 0 1 steps
  277. % {
  278. %  steps div dup /frac xdef ramp /rfrac xdef
  279. %  tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  280. %  tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  281. %  tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  282. %  tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  283. %  newpath l frac mul w -2 div moveto 0 w rlineto dx 0 rlineto 0 w neg rlineto closepath fillproc
  284. % } for
  285. %
  286. % grestore
  287. %
  288. %}def
  289.  
  290. %
  291. % /fillproc xc yc radius /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKRADIAL -
  292. %
  293. /CMYKRADIAL {
  294.  /tc2 xdef
  295.  /tc1 xdef
  296.  /ramp exch ldef
  297.  /radius xdef
  298.  scl /yc xdef /xc xdef
  299.  /fillproc exch ldef
  300.  
  301.  /steps 256 def
  302.  
  303.  gsave clip
  304.  
  305.  steps -1 0
  306.  {
  307.   steps div dup /frac xdef ramp /rfrac xdef
  308.   tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  309.   tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  310.   tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  311.   tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  312.   newpath xc yc radius frac mul 0 360 arc fillproc
  313.  } for
  314.  
  315.  grestore
  316.  
  317. }def
  318.  
  319. %
  320. % /fillproc inset /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKSHAPE -
  321. %
  322. /CMYKSHAPE {
  323.  /tc2 xdef
  324.  /tc1 xdef
  325.  /ramp exch ldef
  326.  /xc xdef
  327.  /fillproc exch ldef
  328.  
  329.  /steps 30 def
  330.  
  331.  currentflat mark currentflat
  332.  {
  333.   {
  334.    dup setflat mark clip
  335.  
  336.    tc1 0 get tc1 1 get tc1 2 get tc1 3 get setcmykcolor
  337.    currentflat mark currentflat
  338.    {
  339.     dup setflat mark
  340.     {fillproc} gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  341.    }loop
  342.    cleartomark setflat
  343.  
  344.    steps -1 0
  345.    {
  346.     steps div dup /frac xdef ramp /rfrac xdef
  347.     tc1 0 get tc2 0 get sub rfrac mul tc2 0 get add
  348.     tc1 1 get tc2 1 get sub rfrac mul tc2 1 get add
  349.     tc1 2 get tc2 2 get sub rfrac mul tc2 2 get add
  350.     tc1 3 get tc2 3 get sub rfrac mul tc2 3 get add setcmykcolor
  351.     []0 setdash xc 2 mul frac mul setlinewidth
  352.  
  353.     currentflat mark currentflat
  354.     {
  355.      dup setflat mark
  356.      {ST} gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  357.     }loop
  358.     cleartomark setflat
  359.  
  360.    } for
  361.   }
  362. %  gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  363.   gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {exit}if}{cleartomark exit} ifelse
  364.  }loop
  365.  cleartomark setflat
  366. }def
  367.  
  368.  
  369. %
  370. % - S -
  371. %
  372. /S {
  373.  /MF /eofill ldef
  374.  /MS /fill ldef
  375.  /ST /stroke ldef
  376. } bdef
  377.  
  378. %
  379. % <pattern> P -
  380. %
  381. /P {
  382.  /pattern xdef
  383.  /mypatternfont findfont begin
  384.  FontDict begin
  385.  true
  386.   0 1 patterncount 1 sub {
  387.    dup patterns exch get pattern eq
  388.       {0 1 str length 1 sub{str exch 2 index put}for pop pop false exit}
  389.    if
  390.    pop
  391.  }for
  392.  {
  393.    patterns patterncount pattern put
  394.     0 1 str length 1 sub {str exch patterncount put}for
  395.    /patterncount patterncount 1 add def
  396.  }if
  397.  end
  398.  end
  399.  /MF /patterneofill ldef
  400.  /MS /patternfill ldef
  401.  /ST /patternstroke ldef
  402. } bdef
  403.  
  404. %
  405. % join miterlimit cap [dashpattern] width ST -
  406. %
  407. /st {
  408.  setlinewidth 0 setdash setlinecap
  409.  2 div sin 1 exch div setmiterlimit
  410.  setlinejoin strokepath
  411. }bdef
  412.  
  413. %
  414. % endfunc scale angle x y LNE -
  415. %
  416. /LNE {
  417.  scl translate rotate dup scale
  418.  load exec
  419.  omatrix setmatrix
  420. }bdef
  421.  
  422. %
  423. % screen spot functions
  424. %
  425. /SSNewDot {180 mul cos exch 180 mul cos add 2 div}bdef
  426. /SSDot {dup mul exch dup mul add 1.0 exch sub}bdef
  427. /SSRing {dup mul exch dup mul add 1.0 exch sub abs 1.0 exch sub}bdef
  428. /SSDonut {dup mul exch dup mul add sqrt .5 sub abs 1.0 exch sub}bdef
  429. /SSLine {exch pop abs}bdef
  430. /SSTriangle {2 exch sub exch abs 2 mul sub 3 div}bdef
  431. /SSPropeller {/y xdef /x xdef y x .001 add atan cvi 72 mod 72 sub abs 72 div y y mul x x mul add 1 exch sub add 2 div}bdef
  432.  
  433. %
  434. % fountain blend functions
  435. %
  436. /FBLinear {}bdef
  437. /FBInvLinear {1 exch sub}bdef
  438. /FBLog {9 mul 1 add log}bdef
  439. /FBInvLog {9 mul 1 add log 1 exch sub}bdef
  440. /FBSin {180 mul sin}bdef
  441. /FBInvSin {180 mul sin 1 exch sub}bdef
  442. /FBSaw {2 mul dup 1 gt {2 exch sub}if}bdef
  443. /FBInvSaw {2 mul dup 1 gt {2 exch sub}if 1 exch sub}bdef
  444.  
  445. %
  446. % line end functions
  447. %
  448. /LERound {0 0 moveto 0 0 .5 -90 90 arc closepath}bdef
  449. /LEArrow {0 0 moveto 0 2 lineto 6 0 lineto 0 -2 lineto closepath}bdef
  450. /LEArrow1 {0 0 moveto 0 2 lineto 6 0 lineto 0 -2 lineto closepath}bdef
  451. /LEArrow2 {0 0 moveto -2 2 lineto 6 0 lineto -2 -2 lineto closepath}bdef
  452. /LEArrow3 {6 0 moveto -3 0 2.31 300 60 arc closepath}bdef
  453. /LEArrow4 {-1 0 moveto -4 2 .5 240 60 arcn 0 0 .5 60 300 arcn -4 -2 .5 300 120 arcn closepath}bdef
  454. /LESpike1 {0 .5 moveto .5 2 lineto 1 .5 lineto 6 0 lineto 1 -.5 lineto .5 -2 lineto 0 -.5 lineto closepath}bdef
  455. /LESpike2 {0 .5 moveto 2 2 lineto 6 0 lineto 2 -2 lineto 0 -.5 lineto closepath}bdef
  456. /LEFeather1 {-2 0 moveto 0 2 lineto 6 2 lineto 4 0 lineto 6 -2 lineto 0 -2 lineto closepath}bdef
  457. /LEFeather2 {0 -2 moveto 0 0 2 270 90 arcn 6 0 2 90 270 arc closepath}bdef
  458. /LEBox {-2 0 moveto -2 2 lineto 2 2 lineto 2 -2 lineto -2 -2 lineto closepath}bdef
  459. /LEDiamond {-2 0 moveto 0 2 lineto 2 0 lineto 0 -2 lineto closepath}bdef
  460. /LEBall {0 0 moveto 0 0 2 360 0 arcn closepath}bdef
  461. /LEEllipse {2 1 scale 0 0 moveto 0 0 2 360 0 arcn closepath}bdef
  462.  
  463. %
  464. % freq angle spot SS -
  465. %
  466. /ss {
  467.  load setscreen
  468. }bdef
  469.  
  470. /installcolor {
  471.  dup type /stringtype eq {pop dangle}if exch dup type /stringtype eq {pop dfreq}if exch /dspot load setscreen
  472.  
  473.  /sepmode xdef
  474.  
  475.  sepmode 1 eq {
  476.   /setcmykcolor{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll}repeat setrgbcolor pop}bdef
  477.   /setgray /SG load def
  478.  }if
  479.  
  480.  sepmode 2 eq {
  481.   systemdict /setcmykcolor known not {/setcmykcolor {1 sub 4 1 roll 3 {3 index add neg dup 0 lt{pop 0}if 3 1 roll} repeat setrgbcolor pop}bdef}if
  482.   /setgray /SG load def
  483.  }if
  484.  
  485.  sepmode 3 eq {
  486.   /sepcolor xdef
  487.   sepcolor 0 get 0 ne {/setcmykcolor {pop pop pop 1 exch sub SG}bdef /setgray {pop 1 SG}bdef } if
  488.   sepcolor 1 get 0 ne {/setcmykcolor {pop pop 1 exch sub SG pop}bdef /setgray {pop 1 SG}bdef } if
  489.   sepcolor 2 get 0 ne {/setcmykcolor {pop 1 exch sub SG pop pop}bdef /setgray {pop 1 SG}bdef } if
  490.   sepcolor 3 get 0 ne {/setcmykcolor {1 exch sub SG pop pop pop}bdef /setgray /SG load def } if
  491.  } if
  492.  
  493.  sepmode 4 eq {
  494.   /sepcolor xdef
  495.   /setcmykcolor {
  496.    sepcolor 3 get eq exch
  497.    sepcolor 2 get eq and exch
  498.    sepcolor 1 get eq and exch
  499.    sepcolor 0 get eq and {0 SG}{1 SG}ifelse}bdef
  500.   sepcolor 3 get 1 eq sepcolor 2 get 0 eq and sepcolor 1 get 0 eq and sepcolor 0 get 0 eq and {/setgray /SG load def}{/setgray {pop 1 SG} bdef} ifelse
  501.  } if
  502.  
  503.  currentscreen /cspot xdef /cangle xdef /cfreq xdef
  504. }bdef
  505.  
  506. %
  507. % #copies BEGINDOCUMENT -
  508. %
  509. /BeginDocument {
  510.  /#copies xdef
  511.  
  512.   7 dict begin
  513.     /FontDict 12 dict def
  514.     FontDict begin
  515.       /key /mypatternfont def
  516.       /patterns 256 array def
  517.       /patterncount 0 def
  518.       /char 0 def
  519.       /mtx [300 72 div 0 0 300 72 div 0 0] matrix invertmatrix def
  520.       /height 30 def
  521.       /width 30 def
  522.       /ctm matrix currentmatrix def
  523.       /ptm matrix identmatrix def
  524.       /str 32 string def
  525.     end
  526.     /FontBBox [0 0 FontDict /width get FontDict /height get] def
  527.     /FontMatrix FontDict /mtx get def
  528.     /Encoding 256 array 0 1 255 {1 index exch dup 3 string cvs cvn put} for def
  529.     /FontType 3 def
  530.     /BuildChar { %def
  531.       exch begin
  532.       FontDict begin
  533.       /char xdef
  534.        width 0 0 0 width height setcachedevice
  535.       width height scale 8 8 true [8 0 0 -8 0 8] {patterns char get} imagemask
  536.       end end
  537.     } def
  538.     FontDict /key get currentdict definefont pop
  539.   end
  540.  
  541.  /dmatrix dmatrix currentmatrix def
  542.  currentscreen /dspot xdef /dangle xdef /dfreq xdef
  543.  
  544. }bdef
  545.  
  546. %
  547. % /fontname xscale yscale F -
  548. %
  549. /f {
  550.  /yscale xdef /xscale xdef
  551.  findfont [xscale 0 0 yscale 0 0] makefont setfont
  552. }bdef
  553.  
  554. %
  555. % (string) s1 -
  556. %
  557. /s1 {show}bdef
  558.  
  559. %
  560. % (string) kernamt s2 -
  561. %
  562. /s2 {exch 0 exch ashow}bdef
  563.  
  564. %
  565. % (string) skernamt s3 -
  566. %
  567. /s3 {exch 0 exch 32 exch widthshow}bdef
  568.  
  569. %
  570. % (string) skernamt kernamt s4 -
  571. %
  572. /s4 {0 exch 32 exch 0 6 -1 roll awidthshow}bdef
  573.  
  574. %
  575. % - ENDOCUMENT -
  576. %
  577. /EndDocument {
  578. }bdef
  579.  
  580. %
  581. % [sepcolor] sepmode freq/(DEFAULT) angle/(DEFAULT) tilew tileh landscape scaleh scalex paperw paperh BEGINTILE -
  582. %
  583. /BeginTile {
  584.  2 div exch 2 div exch translate
  585.  /tilescaley xdef /tilescalex xdef tilescalex tilescaley scale
  586.  {-90 rotate}if
  587.  -2 div exch -2 div exch translate
  588.  
  589.  installcolor
  590.  
  591.  /cmatrix cmatrix currentmatrix def
  592.  
  593. % default to solid fills
  594.  S
  595. }bdef
  596.  
  597. %
  598. % angle cx cy cropmark -
  599. %
  600. /cropmark {
  601.   gsave translate 1 tilescalex div 1 tilescaley div scale rotate
  602.   .3 setlinewidth newpath
  603.   bh 5 add 0 moveto 20 0 rlineto
  604.   0 bv 5 add moveto 0 20 rlineto
  605.   stroke grestore
  606. } bdef
  607.  
  608. %
  609. % dx dy cx cy regmark -
  610. %
  611. /regmark {
  612.   gsave translate 1 tilescalex div 1 tilescaley div scale translate
  613.   .3 setlinewidth newpath
  614.   10 0 moveto 0 0 10 0 360 arc
  615.   1 SG fill
  616.   8 0 moveto 0 0 8 0 360 arc
  617.   -10 0 moveto 10 0 lineto 0 -10 moveto 0 10 lineto
  618.   0 SG stroke
  619.   4 0 moveto 0 0 4 0 360 arc
  620.   fill
  621.   -4 0 moveto 4 0 lineto 0 -4 moveto 0 4 lineto
  622.   1 SG stroke
  623.   grestore
  624. } bdef
  625.  
  626. %
  627. % dx dy cx cy slurgauge -
  628. %
  629. /slurgauge {
  630.   gsave translate 1 tilescalex div 1 tilescaley div scale translate
  631.   .3 setlinewidth newpath
  632.   0 0 10 0 360 arc
  633.   1 SG fill
  634.   0 0 10 0 360 arc
  635.   0 SG stroke
  636.   36 { 1 0 moveto 0 0 10 -2.5 2.5 arc fill 10 rotate} repeat
  637.   grestore
  638. } bdef
  639.  
  640.  
  641. /boxit {newpath moveto 14 0 rlineto 0 -14 rlineto -14 0 rlineto closepath} def
  642.  
  643. %
  644. % angle dx dy cx cy colorstrip -
  645. %
  646. /colorstrip {
  647.   gsave translate 1 tilescalex div 1 tilescaley div scale translate rotate
  648.  
  649.   /Courier findfont 6 scalefont setfont
  650.  
  651.   sepmode 1 eq {
  652.     0 8 translate
  653.     0 1 9 {dup 15 mul 0 boxit 10 div SG fill} for
  654.    }if
  655.  
  656.   sepmode 2 eq sepmode 3 eq or {
  657.     gsave 320 15 translate
  658.     0 0 boxit .5 .41 .41 0 setcmykcolor fill
  659.     15 0 boxit 0 0 0 .5 setcmykcolor fill
  660.     30 0 boxit 1 1 0 0 setcmykcolor fill
  661.     45 0 boxit 1 0 1 0 setcmykcolor fill
  662.     60 0 boxit 0 1 1 0 setcmykcolor fill
  663.     75 0 boxit 1 1 1 0 setcmykcolor fill
  664.     1 SG
  665.     33 -6 moveto (CM) show
  666.     48 -6 moveto (CY) show
  667.     63 -6 moveto (MY) show
  668.     77 -6 moveto (CMY) show
  669.     grestore
  670.  
  671.  
  672.     0 0 0 1 setcmykcolor -6 9 moveto (K) show
  673.     0 1 9 {dup 15 mul 15 boxit 10 div 0 0 0 4 -1 roll setcmykcolor fill} for
  674.  
  675.     1 0 0 0 setcmykcolor -6 -6 moveto (C) show
  676.     0 1 9 {dup 15 mul 0 boxit 10 div 0 0 0 setcmykcolor fill} for
  677.  
  678.     0 1 0 0 setcmykcolor 154 9 moveto (M) show
  679.     0 1 9 {dup 15 mul 160 add 15 boxit 10 div 0 exch 0 0 setcmykcolor fill} for
  680.  
  681.     0 0 1 0 setcmykcolor 154 -6 moveto (Y) show
  682.     0 1 9 {dup 15 mul 160 add 0 boxit 10 div 0 0 3 -1 roll 0 setcmykcolor fill} for
  683.  
  684.    }if
  685.  
  686.   sepmode 4 eq {
  687.     320 0 translate
  688.     0 1 9 {dup 15 mul 0 boxit 10 div SG fill} for
  689.    }if
  690.  
  691.   grestore
  692. } def
  693.  
  694. %
  695. % title1 title2 tilew tileh PRINTERSMARKS -
  696. %
  697. /PrintersMarks {
  698.  /tileh xdef
  699.  /tilew xdef
  700.  /title2 xdef
  701.  /title1 xdef
  702.  
  703.  gsave 0 SG [] 0 setdash 0 setlinejoin 0 setlinecap
  704.  
  705.  180 0 0 cropmark
  706.  270 tilew 0 cropmark
  707.  0 tilew tileh cropmark
  708.  90 0 tileh cropmark
  709.  
  710.  0 15 bv add tilew 2 div tileh regmark
  711.  0 -15 bv sub tilew 2 div 0 regmark
  712.  
  713.  -15 bh sub -15 bv sub 0 0 slurgauge
  714.  15 bh add 15 bv add tilew tileh slurgauge
  715.  
  716.   gsave 1 tilescalex div 1 tilescaley div scale -15 bh sub 8 translate 90 rotate
  717.   /Courier findfont 8 scalefont setfont
  718.   0 0 moveto title1 show
  719.   0 -8 moveto title2 show (  ) show
  720.   currentscreen pop exch 20 string cvs show ( lpi  ) show
  721.   20 string cvs show (\312  ) show
  722.   tilescalex 100 mul 20 string cvs show (%) show
  723.   tilescaley tilescalex ne {(,) show tilescaley 100 mul 20 string cvs show (%) show}if
  724.   grestore
  725.  
  726.  90 bh 15 add 15 tilew 0 colorstrip
  727.  grestore
  728. }bdef
  729.  
  730. %
  731. % [sepcolor] sepmode freq/(DEFAULT) angle/(DEFAULT) title left top right bottom THUMBNAILMARKS -
  732. %
  733. /ThumbnailMarks {
  734.  /tiley2 xdef
  735.  /tilex2 xdef
  736.  /tiley1 xdef
  737.  /tilex1 xdef
  738.  /title1 xdef
  739.  
  740.  cmatrix setmatrix
  741.  .5 SG 6 setlinewidth
  742.  newpath
  743.  tilex1 3 add tiley2 3 sub moveto
  744.  tilex2 3 add tiley2 3 sub lineto
  745.  tilex2 3 add tiley1 3 sub lineto stroke
  746.  
  747.  0 SG [] 0 setdash .3 setlinewidth 0 setlinejoin 0 setlinecap
  748.  newpath tilex1 tiley1 moveto tilex2 tiley1 lineto tilex2 tiley2 lineto tilex1 tiley2 lineto closepath stroke
  749.  
  750.  gsave tilex1 tilex2 add 2 div tiley2 translate 1 tilescalex div 1 tilescaley div scale -2 -6 bv sub translate
  751.  /Courier findfont 6 scalefont setfont
  752.  0 0 moveto title1 show
  753.  grestore
  754.  
  755.  installcolor
  756. }bdef
  757.  
  758. %
  759. % - ENDTILE -
  760. %
  761. /EndTile {
  762. }bdef
  763.  
  764. %
  765. % - BEGINCLIP -
  766. %
  767. /BeginClip {/PGSClipSave save def clip}bdef
  768.  
  769. %
  770. % - ENDCLIP -
  771. %
  772. /EndClip {PGSClipSave restore}bdef
  773.  
  774. %
  775. % xscale yscale xoffset yoffset pixelw pixelh bitsperpixel BEGINBITMAP -
  776. %
  777. /BeginBitmap {
  778.  /bpp xdef /h xdef /w xdef
  779.  scl translate scale save /picstr 8 bpp idiv dup w add 1 sub exch idiv string def
  780.  w h bpp [w 0 0 h neg 0 h] {currentfile picstr readhexstring pop}bind image
  781. }bdef
  782.  
  783. %
  784. % xscale yscale xoffset yoffset pixelw pixelh bitsperpixel BEGINRGBBITMAP -
  785. %
  786. /BeginRGBBitmap {
  787.  /bpp xdef /h xdef /w xdef
  788.  scl translate scale save /picstr 8 bpp idiv dup w 3 mul add 1 sub exch idiv string def
  789.  w h bpp [w 0 0 h neg 0 h] {currentfile picstr readhexstring pop}bind false 3 colorimage
  790. }bdef
  791.  
  792. %
  793. % - ENDBITMAP -
  794. %
  795. /EndBitmap {restore omatrix setmatrix}bdef
  796.  
  797. %
  798. % xscalex yscale xoffset yoffset BEGINEPS -
  799. %
  800. /BeginEPS {
  801.  scl translate scale translate
  802.  /PGSEPSSave save def /showpage {} bdef
  803.  newpath [] 0 setdash 1 setlinewidth 0 setgray
  804. }bdef
  805.  
  806. %
  807. % - ENDEPS -
  808. %
  809. /EndEPS {PGSEPSSave restore}bdef
  810.  
  811. end
  812. %%EndProlog
  813.